# 【练习】斐波那契数列
# 编写一个Python程序，使用递归算法，生成并输出斐波那契数列的前n项，其中n是用户指定的正整数。斐波那契数列，又称黄金分割数列，指的是：1、1、2、3、5、8、13、21、34....从第三个数开始，每个数字都是前两个数字之和。

def fibonacci_sequence_recursion(num):
    if num <= 0:
        return 0
    elif num == 1 or num == 2:
        return 1
    return fibonacci_sequence_recursion(num - 1) + fibonacci_sequence_recursion(num - 2)

def fibonacci_sequence_for(num):
    l1 = []
    for i in range(0,num):
        if len(l1) < 2:
            l1.append(1)
        else:
            l1.append( l1[len(l1)-1] + l1[len(l1)-2])
    return (l1)

if __name__ == "__main__":
    print(f"第8项：{fibonacci_sequence_recursion(8)}")
    print(f"for:{fibonacci_sequence_for(8)}")